package com.ruoyi.student.domain.vo;

import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import java.util.List;

public class ManualClassDivisionRequest {
    /** 班级列表（必选） */
    @Valid  // 嵌套校验：校验每个ManualClassInputDTO的字段
    @NotEmpty(message = "班级列表不能为空")
    private List<ManualClassInputDTO> classes;

    /** 培养计划列表（必选，用于更新培养计划课程信息） */
    @NotEmpty(message = "培养计划列表不能为空")
    private List<TrainingProgramParam> trainingPrograms;

    // getter/setter
    public List<ManualClassInputDTO> getClasses() {
        return classes;
    }

    public void setClasses(List<ManualClassInputDTO> classes) {
        this.classes = classes;
    }

    public List<TrainingProgramParam> getTrainingPrograms() {
        return trainingPrograms;
    }

    public void setTrainingPrograms(List<TrainingProgramParam> trainingPrograms) {
        this.trainingPrograms = trainingPrograms;
    }

    /**
     * 培养计划参数（仅需ID字段，用于更新操作）
     */
    public static class TrainingProgramParam {
        private String id; // 培养方案ID

        // getter/setter
        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }
    }
}
